package io;

import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * 向文件中写入文本数据
 */
public class WriteStringDemo {
    //向文件fos.txt中写入文本数据
    public static void main(String[] args) throws IOException {
        /*
            文件流的构造器
            FileOutputStream(String filename)
            FileOutputStream(File file)
            以上两个构造器创建文件流时，为“覆盖模式”
            特点：
            如果指定的文件不存在会自动创建，但是如果文件存在，会将该文件数据全部清除，
            然后将通过这个流写出的数据全部保留在文件中

            追加模式：
             FileOutputStream(String filename,boolean append)
            FileOutputStream(File file,boolean append)
            上述构造器如果第二个参数传入的值为true，则文件流采取追加模式，特点：
            当文件存在时，那么文件数据全部保留，新写入的数据会被追加到文件中
         */
        FileOutputStream fos = new FileOutputStream("fos.txt",true);
//        String line = "该配合你演出的我，却视而不见，别逼一个爱你的人即兴表演";
//        /*
//            UTF-8 万国码
//            英文数字符号每个占1个字节
//            中文每个字符占3个字符
//            String自身提供了将字符串转换为一组字节的方法：getBytes()
//         */
//        byte[] data = line.getBytes(StandardCharsets.UTF_8);
//        fos.write(data);
//
//        line = "其实台下的观众就我一个，其实我也看出你有点不舍，还记得我们来回拉扯，还计较着什么。";
//        fos.write(line.getBytes(StandardCharsets.UTF_8));
//        line = "其实说分不开的也不见的，其实感情最怕的就是拖着";
//        fos.write(line.getBytes(StandardCharsets.UTF_8));
//        line = "是否还值得";
//        fos.write(line.getBytes(StandardCharsets.UTF_8));

        fos.write("你还要我怎样".getBytes(StandardCharsets.UTF_8));
        fos.write("要怎样".getBytes(StandardCharsets.UTF_8));
        fos.write("你突然来的短信就够我悲伤".getBytes(StandardCharsets.UTF_8));
        System.out.println("写出完毕");
        fos.close();
    }
}
